<?php
$actionList=array(
	1=>array("регистрация пользователя","user","businessman_add.png"),
	2=>array("модификация пользователя","user","businessman_preferences.png"),
	3=>array("удаление пользователя","user","businessman_delete.png"),
	4=>array("создание группы","group","group.gif"),
	5=>array("модификация группы","group","group.gif"),
	6=>array("удаление группы","group","group.gif"),
	7=>array("создание материала","article","add.png"),
	8=>array("модификация материала","article","image1.gif"),
	9=>array("удаление материала","article","del.gif"),
	10=>array("создание категории","category","dir.gif"),
	11=>array("модификация категории","category","dir.gif"),
	12=>array("удаление категории","category","del.gif"),
	13=>array("создание комментария","comment","message_add.png"),
	14=>array("модификация комментария","comment","message_edit.png"),
	15=>array("удаление комментария","comment","message_delete.png"),
	16=>array("создание картинки","image","img.gif"),
	17=>array("модификация картинки","image","img.gif"),
	18=>array("удаление картинки","image","del.gif"),
	19=>array("создание языка","lang","icon_0.gif"),
	20=>array("модификация языка","lang","icon_0.gif"),
	21=>array("удаление языка","lang","icon_0.gif"),
	22=>array("создание письма","mail","image.gif"),
	23=>array("модификация письма","mail","image.gif"),
	24=>array("удаление письма","mail","del.gif"),
	25=>array("создание модуля","module","component.png"),
	26=>array("модификация модуля","module","component.png"),
	27=>array("удаление модуля","module","del.gif"),
	28=>array("создание заказа","order","buy.gif"),
	29=>array("модификация заказа","order","buy.gif"),
	30=>array("удаление заказа","order","del.gif"),
	31=>array("создание магазина","shop","office-building.png"),
	32=>array("модификация магазина","shop","office-building.png"),
	33=>array("удаление магазина","shop","del.gif"),
	34=>array("подключение модуля магазина","shop_module","components.png"),
	35=>array("изменение подключения модуля магазина","shop_module","components.png"),
	36=>array("отключение модуля магазина","shop_module","del.gif"),
	37=>array("создание тега","tag","add2.png"),
	38=>array("модификация тега","tag","image1.gif"),
	39=>array("удаление тега","tag","del.gif"),
	40=>array("создание шаблона","template","templates.png"),
	41=>array("модификация шаблона","template","templates.png"),
	42=>array("удаление шаблона","template","del.gif"),
	43=>array("создание продукта","product","file.gif"),
	44=>array("модификация продукта","product","file.gif"),
	45=>array("удаление продукта","product","del.gif"),
	46=>array("добавление продукта в заказа","product_to_order","export1.png"),
	47=>array("модификация продукта в заказе","product_to_order","export1.png"),
	48=>array("удаление продукта из заказа","product_to_order","del.gif"),
	49=>array("отправка письма","mail_to_user","image.gif"),
	50=>array("модификация отправленного письма","mail_to_user","image.gif"),
	51=>array("удаление отправленного письма","mail_to_user","del.gif"),
	52=>array("письмо удалено как спам","mail_to_user","del.gif"),
	53=>array("создание параметра конфигурации","config","icon_12.gif"),
	54=>array("изменение параметра конфигурации","config","icon_12.gif"),
	55=>array("удаление параметра конфигурации","config","del.gif"),
	56=>array("создание связи между пользователями","user_to_user","group.gif"),
	57=>array("изменение связи между пользователями","user_to_user","group.gif"),
	58=>array("удаление связи между пользователями","user_to_user","del.gif"),
	59=>array("создание связи между пользователем и магазином","user_to_shop","office-building1.png"),
	60=>array("изменение связи между пользователем и магазином","user_to_shop","office-building1.png"),
	61=>array("удаление связи между пользователем и магазином","user_to_shop","del.gif"),
	62=>array("создание параметра","param","icon_12.gif"),
	63=>array("изменение параметра","param","icon_12.gif"),
	64=>array("удаление параметра","param","del.gif"),
	65=>array("создание параметра товара","param_data","add2.png"),
	66=>array("изменение параметра товара","param_data","image1.gif"),
	67=>array("удаление параметра товара","param_data","del.gif"),
	68=>array("создание связи товара","product_to_product","export1.png"),
	69=>array("изменение связи товара","product_to_product","export1.png"),
	70=>array("удаление связи товара","product_to_product","del.gif"),
	71=>array("создание валюты","currency","add2.png"),
	72=>array("изменение валюты","currency","image1.gif"),
	73=>array("удаление валюты","currency","del.gif"),
	74=>array("создание купона","coupon","card.png"),
	75=>array("изменение купона","coupon","card.png"),
	76=>array("удаление купона","coupon","del.gif"),
	77=>array("изменение рейтинга товара","product","star.gif"),
	78=>array("создание региона","region",""),
	79=>array("модификация региона","region",""),
	80=>array("удаление региона","region","")
);
$modes=array(
	0=>array("норма",""),
	1=>array("ошибка пользователя","alert.gif"),
	2=>array("подозрительные изменения базы","unknown.gif"),
	3=>array("попытка нарушения прав","alert.gif"),
	4=>array("модераторские изменения","info1.gif"),
	5=>array("ошибка базы","error.gif"),
	6=>array("ошибка кода","error.gif"),
	7=>array("критическая ошибка","dels.gif")
);
header("Content-type: text/html");
$addPath="../";
include_once('../core/exeptions.php');
include_once('../core/functions.php');
import('core.core');
Core::load(array(
	'core.config',	
	'core.db.mysql'
));
error_reporting(E_ALL);
$session=mysql_connect(Config::_("db_host"),Config::_("db_user"),Config::_("db_pass"));
mysql_select_db(Config::_("db_name"),$session);
if(isset($_GET['lists'])){
	$return=array(
	'models'=>array(),
	'modes'=>array(),
	'actions'=>array()
	);
	$res=mysql_query('select model from log group by model order by model');
	while ($str=mysql_fetch_assoc($res)) {
		$return['models'][]=$str['model'];
	}
	foreach ($actionList as $key=>$item) {
		$return['actions'][$key]=$item[0];
	}
	foreach ($modes as $key=>$item) {
		$return['modes'][$key]=$item[0];
	}
	mysql_close($session);
	echo json_encode($return);
	exit();
}

mysql_query("SET CHARACTER SET utf8");
$res=mysql_query('SELECT * FROM log '.(isset($_GET['last']) && is_numeric($_GET['last'])?'WHERE log_id>'.$_GET['last'].' ORDER BY log_id':' ORDER BY log_id LIMIT 100')) or die(mysql_error());
$last_id=0;
$count_records=mysql_num_rows($res);
$list=array();
if($count_records){
	while ($str=mysql_fetch_assoc($res)) {
			$str['description']=nl2br($str['description']);
			$str['description']=str_replace("
","",$str['description']);
			$description_object=json_decode($str['description'],true);
			if(json_last_error()){
			echo $str['description'].'
';
			switch(json_last_error())
		    {
		        case JSON_ERROR_DEPTH:
		            echo ' - Maximum stack depth exceeded
		            ';
		        break;
		        case JSON_ERROR_CTRL_CHAR:
		            echo ' - Unexpected control character found
		            ';
		        break;
		        case JSON_ERROR_SYNTAX:
		            echo ' - Syntax error, malformed JSON
		            ';
		            exit();
		        break;
		        default:
		        break;
		    }
			$description_object=new stdClass();
			}
		$images=array();
		$images[]=$modes[$str['mode']][1];
		if($str['model']!=$actionList[$str['action']][1]){
			$images[]=array($modes[2][0]." ".$str['model']."!=".$actionList[$str['action']][1],$modes[2][1]);
		}
		$str['action']=array($str['action'],$actionList[$str['action']][2]);
		$list[]=array(
			$images,
			(int)$str['mode'],
			$str['action'],
			(int)$str['log_id'],
			date("d:m:y H:i:s", strtotime($str['action_time'])),
			$str['model'],
			(int)$str['model_id'],
			$description_object,
			(int)$str['user_id'],
			$str['session']
		);
		$last_id=$str['log_id'];
	}
	
}

mysql_close($session);
if((isset($_GET['last']) && is_numeric($_GET['last']))){
	echo '{"last":'.($last_id?$last_id:$_GET['last']).', "aaData":'.str_replace("null",'""',json_encode($list)).'}';
}else{
	echo '{"last":'.$last_id.' ,"sEcho":1, "iTotalRecords":'.$count_records.', "iTotalDisplayRecords":'.$count_records.', "aaData":'.str_replace("null",'""',json_encode($list)).'}';
}